home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 19 / CU Amiga Magazine's Super CD-ROM 19 (1998)(EMAP Images)(GB)[!][issue 1998-02].iso / CUCD / Readers / ExtremeAmos / Text / Ripper_3.ASC < prev    next >
Text File  |  1995-12-30  |  17KB  |  349 lines

  1. ü
  2.                   Multiripper tutorial part 3 - Decrunchers
  3.                   -----------------------------------------
  4.     
  5. þ
  6.         Not only is Multi-ripper an excellent module ripper, but it is
  7.     also the best executable ripper that I know of, doing a much better
  8.     job than larger rippers such as ExoticRipper.
  9.     
  10.         Multiripper allows you to unpack executables into the memory, and
  11.     then examine the uncrunched contents for music modules. Lot's of
  12.     different kinds of decrunchers are detectable, including almost all of
  13.     the classic ones, and all of the exotic decrunchers used by coding
  14.     groups such as Paradox and Red Sector.
  15.     
  16.         This next part of the tutorial is hopefully going to help you in
  17.     getting your music modules from crunched files. Even better for you, I
  18.     shall show you how to recover modules from Non-DOS disks, which you
  19.     can't access in Workbench. Multi-Ripper is the ONLY shareware ripper
  20.     that will allow you to mess around with the sectors on the disk, as
  21.     with any of the other programs, you must register in order just to be
  22.     able to read the disk.
  23. ÿ
  24. þ
  25.         I am also going to explain a bit about the encryption routines
  26.     that some of the programmers use in their code to try and "Hide" the
  27.     prescence of a module, as well as some other ways of deciding if a
  28.     module exists, without having to load Multiripper.
  29.     
  30.         Remeber, that not all Non-DOS disks are readable in the ripper. If
  31.     you try and use a disk such as Shadow of the Beast 2, then you will see
  32.     that the ripper cannot register it, where if you use disks such as
  33.     R-Type and Red Sector megademo, it has no problems.
  34.     
  35.         Here are the 2 main things you need to know, starting at the top
  36.     with executable decrunchers.
  37.     
  38. ü
  39.                             EXECUTABLE DECRUNCHERS
  40.                             ----------------------
  41.     
  42. þ
  43.         Often when you are writing a game, you will find that when
  44.     everything is placed on the disk, the program takes up just a few
  45.     extra K's of space than what you can actually use. When this happens,
  46.     people use a "Cruncher" program, which reads the program in, and
  47. ÿ
  48. þ
  49.     squashes it up, so that it takes up less space on the disk. When the
  50.     program is then run, it is unpacked, and then executed.
  51.     
  52.         When this happens, the module player will not be able to determine
  53.     what is a module, and what is not. It will more than likely keep
  54.     coming up with jargon than any actual modules. Commonly used
  55.     filecrunchers are Stonecracker, PowerPacker and Crunchmania, which all
  56.     three will NOT decrunch in multi-ripper. Many of the old and exotic
  57.     crunchers will work, as they use the same kind of code as regular
  58.     decrunchers, but perhaps have a different on-screen effect as it is
  59.     unpacking.
  60.     
  61.         There are 2 ways of reading these files into Multiripper. The
  62.     first, being the simple RI (Filename) (address in mem), and then you
  63.     can use a HUNK (adress loaded in) to find the decrunch header.
  64.     
  65.         The program (if it understands all of the decruncher) will ask you
  66.     if you want to Move, Skip or Unpack the decrunched file. It is a good
  67.     idea to move the decruncher to a place in memory that is not used, as
  68.     anything between the 2 addresses shown is completely overwritten.
  69. ÿ
  70. þ
  71.     Pressing U will unpack the file. You may have to wait a while,
  72.     depending on how big the file is. With a lot of the decrunchers, the
  73.     screen will be effected, also an indication that the process is
  74.     working. Once unpacked, the program will tell you the start and finish
  75.     address of the program you have just unpacked. If you use the WI
  76.     command with the 2 addresses, you will save a data-file of the
  77.     uncrunched executable, for use in other programs and rippers etc. NOTE
  78.     that the file saved IS NOT executable, as it is the raw data directly
  79.     from the decruncher. The executable bit of the program is scattered
  80.     around somewhere for the convinience of the decruncher.
  81.     
  82.         Sometimes, the program will not be able to understand the
  83.     decruncher either fully, or partly. If it does not recognize it at
  84.     all, it will just skip past it. If it partly-recognizes the cruncher,
  85.     then what it displays will depend on what it understands. The common
  86.     ones are "Unable to locate decrunch address" meaning that you cannot
  87.     move the program around, and you also must unpack it to the address
  88.     that is stated/non stated, which usually results in a crash.
  89.     
  90.         Once you have unpacked the file, you can begin your usual music
  91. ÿ
  92. þ
  93.     ripping commands to see if there are any kinds of music modules in
  94.     there at all. Common ways of disguising modules are to make the
  95.     modules look like old Soundtracker modules, which can't be picked in
  96.     in Multi-ripper too well. See the previous part for more information.
  97.     
  98.         When a module has been located, you can save it in the same way
  99.     you would any other module. It should be OK, but some modules tend to
  100.     get a bit of interference inside them, especially if MR is not too
  101.     familiar with the decruncher that was used.
  102.     
  103.     
  104. û
  105.                               SECTOR DECRUNCHERS
  106.                               ------------------
  107.     
  108. þ
  109.         Sector decrunchers are normally the decrunchers that you find on
  110.     the Non-DOS disks such as games and demos. Multiripper can read and
  111.     examine these kind of disks for both decrunchers and music modules.
  112.     
  113.         Firstly, in order for you to do anything, there are 2 commands
  114.     that you can use to look on the disk. The first, and easiest, is the
  115. ÿ
  116. þ
  117.     SCAN command, which will scan the disk in the internal drive for
  118.     modules and decrunchers. The addresses of any possibilities found are
  119.     displayed on the screen. The list of all the decrunchers that have
  120.     been found can be called at any time using the LDEC command. With the
  121.     modules however, I think it would be best if you wrote down what you
  122.     find, as they will not be listed on-screen with the LDEC command. Now,
  123.     when you have these numbers, they can be used in conjunction with the
  124.     RS command, as they are the sector numbers the Amiga recognized
  125.     something at. It is always a good idea to add a few numbers to the end
  126.     of the last sector number to make sure that you load all of the needed
  127.     data into memory. Once you have read in the information, you can then
  128.     go onto using the HUNK command and the HUNT command to try and recover
  129.     the data even further. If you manage to find a module/decrunch header
  130.     and the data is not all there, then add a few more to the final
  131.     address of the RS sector, as the information is not being read in to
  132.     be played. With decrunchers, you will be always unpacking lots of 0's,
  133.     or the system could crash, although that has not happened on me yet,
  134.     and I don't really want it to.
  135.     
  136.         The second command is a bit more difficult, and you will need at
  137. ÿ
  138. þ
  139.     least 2Mb of RAM in order to pull it off. If you have set your disk up
  140.     the way I told you in the first part of the tutorial, you should see
  141.     that the program kicks in at the beginning of the memory, making the
  142.     startplace of memory at 45000 (disk users) and 75000 (Amiga's with a
  143.     HD). Now, insert the disk and type RS 0 6E0 75000 and hit return. This
  144.     will read the entire disk into memory, up to about 150000, allowing
  145.     you a bit of space for any decrunchers that you should find. If the
  146.     program happents to hit a read error, then the operation will be
  147.     aborted where it is on the disk, and not read any further. Once
  148.     finished reading, you can use a direct HUNT command to look into the
  149.     memory for any modules, or a HUNK command to try and locate a
  150.     decruncher. NOTE that some modules will be messed up slightly from the
  151.     RS method, depending on the cruncher systems that the disk uses. One
  152.     example of a module that will come straight from an RS is the rather
  153.     good title tune from Zool 2. It will rip it clean, and all samples
  154.     too. For more examples of modules that I have ripped, then see further
  155.     down in the document, where I shall give a few working examples.
  156.     Remember, it is illegal to try and sell modules you have ripped from
  157.     any commercial game under your own name, so don't do it !!
  158.     
  159. ÿ
  160. þ
  161.         Both of the above methods do exactly the same job, except maybe
  162.     the second method is probably a bit more reliable, as you know then
  163.     that you have all the data needed to play a complete module, or unpack
  164.     a full decruncher.
  165.     
  166. û
  167.                               HIDING THE MODULES
  168.                               ------------------
  169.     
  170. þ
  171.         Don't sneeze whilst typing on the keyboard, and brushing your
  172.     teeth at the same time. You get toothpaste all over the monitor and
  173.     keyboard. Anyhow, enough of my little accident, and back to the
  174.     tutorial. A lot of software houses try and hide their modules by
  175.     putting a form of an encrypter into their modules, to try and stop top
  176.     rippers like myself from extracting them successfully. I have managed
  177.     to crack quite a few of these, but there are the odd few which still
  178.     stump me for a while.
  179.     
  180.         The most common one, which does not really encrypt the module, but
  181.     stumps Multiripper, is to store the module as an old Soundtracker
  182.     module, which uses the standard 15 presets instead of the newer 31
  183. ÿ
  184. þ
  185.     presets. The best way around this, is to save the data file you have
  186.     unpacked, and load it into another ripper such as ExtoicRipper, which
  187.     does rip the old Soundtracker modules, and convert them to 31 using
  188.     Protracker or Soundtracker module makers.
  189.     
  190.         Another good one is to alter the way the actual module is read by
  191.     a music player. Let me try and build a picture of the header into your
  192.     head. A music module name consists of 20-22 characters consisting of
  193.     CHR$(0). The name of the module can be no more than 20 characters
  194.     long, as is stored in the first 20 characters of the header. Then, the
  195.     names of all the samples are stored after this, and finally, the song
  196.     and sample data. Now, if you were to change all the 0's in the name to
  197.     a set variable, or just to random numbers, then the module ripper
  198.     would not be able to pick it up because it could not find that final
  199.     0. Ways around this are to edit the file in a binary editor such as
  200.     DekSID, but you have to know what you are looking for first. The
  201.     sample names are usually kept in, although these can be changed to
  202.     disguise the module a bit too.
  203.     
  204.         Another good way, is to store the song and the samples at
  205. ÿ
  206. þ
  207.     different parts of the program. Then, when the program is run, the 2
  208.     parts are pasted together as one in order to play. This is a method
  209.     that I use, and is fairly effective, as you will only be able to rip
  210.     the song information, without any samples.
  211.     
  212.         Sometimes, however, modules just cannot be ripped cleanly.
  213.     Sometimes you can rip the song with no problems, but you will have to
  214.     put the samples in the right place yourselves using a program such as
  215.     Protracker. The samples are often corrupted, but using a professional
  216.     sample editor, you should still be able to remove the individual
  217.     samples without too much hassle.
  218.     
  219. û
  220.                  WAYS OF DETECTING A MOD WITHOUT MULTIRIPPER
  221.                  -------------------------------------------
  222.     
  223. þ
  224.         Now, although Multiripper is very good at ripping modules, it can
  225.     be very tiresome when it comes to loading in loads of files only to
  226.     discover you cannot locate a module.
  227.     
  228.         Any kind of program which has a RAW sample player within it can be
  229. ÿ
  230. þ
  231.     used. I have a few small programs in the AMOS library which do the
  232.     same job. The way it works is quite simple. You load in the file you
  233.     wish to examine, and begin playing. If it is not a module, you will
  234.     hear lots of mess in the background. If the program starts playing
  235.     samples from the module you are looking for, such as drum beats,
  236.     cymbals etc., then you are onto a roll. If the file only plays the one
  237.     sample, the chances are that the file you are listening to is a raw
  238.     sample anyway.
  239.     
  240.         You can then load the file into Multiripper and try and extract a
  241.     module from it. Note that you cannot determine if a decruncher exists
  242.     if you use the Directory Opus method.
  243.     
  244. ý
  245.                  EXAMPLE MODULES TO TANTALIZE YOUR TITBITS !!
  246.                  --------------------------------------------
  247.     
  248. þ
  249.         Well, here it is. Some examples from the hundreds of games that I
  250.     have managed to rip tunes from. I have just put the basic instructions
  251.     for use in Multiripper, plus any other instructions that you will need
  252.     in external programs. Here goes :
  253. ÿ
  254. ù
  255.           NAME OF PROGRAM         METHOD OF EXTRACTION
  256.       ----------------------|----------------------------------------------
  257.            Budbrain 2 demo  |   Run the demo, and when the tune you want
  258.                             |   begins to play, reset the computer and use
  259.                             |   the HUNT command. The modules should
  260.                             |   appear entact.
  261.              Jaguar XJ 220  |   Again, wait till the tune appears and use
  262.                             |   a standard HUNT command. All the CD tracks
  263.                             |   are rippable in MR except the first.
  264.                     Zool 2  |   RS data disk 1 into memory, and use a
  265.                             |   standard HUNT command to locate the title
  266.                             |   tune.
  267.        Red Sector Megademo  |   Locate all the decruncher addresses using
  268.                             |   one of the above-mentioned methods. Unpack
  269.                             |   each file in turn, and use a HUNT command.
  270.                             |   If HUNT fails, save the data file and use
  271.                             |   ExoticRipper to locate old Soundtracker
  272.                             |   modules. Not all decrunchers contain
  273.                             |   modules.
  274.     
  275. ÿ
  276. ù
  277.                 Funny demo  |   Uncrunch the executable into memory, and
  278.                             |   save the data file. Use DekSID to find a
  279.                             |   sample named BELLS. Change the character
  280.                             |   21 characters behind to an ASCII value
  281.                             |   above 0, and re-write the file. You should
  282.                             |   be able to rip an old ST module with
  283.                             |   ExoticRipper. If there are no samples,
  284.                             |   use a good sample editor to recover them
  285.                             |   from the data file.
  286.     
  287. þ
  288.         Well, that is about it. All the others are just the same, so there
  289.     is no point in adding loads of the same kind of rip.
  290.     
  291.         It also brings us to the end of this tutorial. If you are still
  292.     stuck on Multiripper, and need some advice, or perhaps a shareware
  293.     copy of the program, then why not drop me a line. If you want a copy
  294.     of the program, along with any other of the Shareware programs used,
  295.     then send me a disk and a letter telling me what you want, and I will
  296.     be happy to return it to you. If you are interested in AMOS
  297.     programming, then also let me know. Fill the disk with some of your
  298. ÿ
  299. þ
  300.     programs so I can include them in the library. The address to send all
  301.     your stuff to is :
  302.     
  303. ú
  304.                           Andrew "Mushroom" Kellett
  305.                                  Mushroom PD
  306.                             32 Castleton Crescent
  307.                                    Gamesley
  308.                                    Glossop
  309.                                   Derbyshire
  310.                                    SK13 9TH
  311.                                    ENGLAND
  312.     
  313.     
  314. þ
  315.         Several thanx must go out in this tutorial, the main going to
  316.     Erland Simonsen, author of the amazing Multiripper. Here is a list of
  317.     all programs which you should have in your posession in order to rip
  318.     modules on a high basis :
  319.     
  320.     
  321.     
  322. ÿ
  323. û
  324.                           MultiRipper V3 (Shareware)
  325.                            ExoticRipper (Shareware)
  326.                               DekSID (Shareware)
  327.                                 Directory Opus
  328.                          PRO Sample Player (Freeware)
  329.                             Noiseplayer (Freeware)
  330.                              Smartplay (Freeware)
  331.     
  332. þ
  333.         I have several other tutorials available. These include routines
  334.     for AMOS and AMOSPro, and consist of Graphic equalizers, and how to
  335.     make tracker demos, as well as being able to recognize tracker modules
  336.     from within AMOS. If you want any of these, then please ensure that
  337.     you enclose a disk for me to include them on.
  338.     
  339.         So, until we happen to meet again, it is goodbye from me, and
  340.     goodbye from Millie.
  341.     
  342. ú
  343.     [Andrew "Mushroom" Kellett]
  344.     
  345. ÷
  346. EOF
  347.  
  348.  
  349.